package com.ruoyi.factorydata.domain.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.factorydata.domain.ProductionBomMaterial;
import lombok.Builder;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Builder
@Data
public class ProductionBomVo {
    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    private Integer Level;

    private Long materialId;
    /**
     * 物料编码
     */
    @Excel(name = "物料编码")
    private String materialCode;

    /**
     * 物料名称
     */
    @Excel(name = "物料名称")
    private String materialName;

    /**
     * 物料类型
     */
    @Excel(name = "物料类型")
    private String materialType;

    /**
     * 物料类型名称
     */
    @Excel(name = "物料类型名称")
    private String materialTypeName;

    /**
     * 物料分类 ID
     */
    @Excel(name = "物料分类ID")
    private Long materialCategoryId;

    /**
     * 物料分类名称
     */
    @Excel(name = "物料分类名称")
    private String materialCategoryName;

    /**
     * 物料制造方式
     */
    @Excel(name = "物料制造方式")
    private String manufacturingMethod;

    /**
     * 物料制造方式名称
     */
    @Excel(name = "物料制造方式名称")
    private String manufacturingMethodName;

    /**
     * 物料计量单位
     */
    @Excel(name = "物料计量单位")
    private String materialUnit;

    /**
     * 物料计量单位名称
     */
    @Excel(name = "物料计量单位名称")
    private String materialUnitName;

    /**
     * 物料规格
     */
    private String materialSpecification;
    /**
     * 需求数量
     */
    @Excel(name = "需求数量")
    private Long demandQuantity;

    private String status;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    List<ProductionBomMaterialVo> productionBomMaterials;
}
